package com.mixsmart.commonweb.plugins;

import java.util.HashMap;

import com.mixsmart.core.bean.MixResponse;

/**
 * 插件工厂
 * @author lmq
 * @version 1.0
 * @since JDK版本大于等于1.6
 * 2016年2月2日
 */
public class PluginFactory {

	/**
	 * 获取插件对象的数据
	 * @param plugin 实现插件的对象
	 * @param resName 资源名称
	 * @param params 参数
	 * @return 返回MixResponse对象；通过getResult()方法判断方法是否执行成功；
	 * <p> 等于“1”--表示成功，其他值表示失败 </p>
	 * 如果成功通过getDatas()方法获取数据
	 */
	public static <E> MixResponse<E> getPluginDatas(IPlugin plugin,String resName,HashMap<String,Object> params) {
		MixResponse<E> mixResp = new MixResponse<E>();
		if(null != plugin) {
			mixResp = plugin.getDatas(resName, params);
		}
		return mixResp;
	}
	
	
	/**
	 * 获取插件对象的数据
	 * @param plugin 实现插件的对象
	 * @param resName 资源名称
	 * @param params 参数
	 * @param page 当前页
	 * @param rows 每页显示数
	 * @return 返回MixResponse对象；通过getResult()方法判断方法是否执行成功；
	 * <p> 等于“1”--表示成功，其他值表示失败 </p>
	 * 如果成功通过getDatas()方法获取数据
	 */
	public static <E> MixResponse<E> getPluginDatasPage(IPlugin plugin,String resName,
			HashMap<String,Object> params, int page, int rows) {
		MixResponse<E> mixResp = new MixResponse<E>();
		if(null != plugin) {
			mixResp = plugin.getDatasPage(resName, params, page, rows);
		}
		return mixResp;
	}
	
}
